23

» WarCraft 3 / Локализация

Принятый ответ
Похожие вопросы:

ответ
Как оказалось, ответ был проще. Покопался в файлах карты, нашел wts-файл. В нем все расписано по блоках, причем содержатся все строки, даже описания новых объектов.
Например
STRING 3
Войска: n000 (Dummy), Name (Название (unam))
{
Dummy
}
При локализации карты изменяется этот файл, так как из него берутся значения. Также дела обстоят и с той функцией. Она берет строку из определенного блока. Думаю, вопрос можно закрывать.

23

» WarCraft 3 / Помогите с редактором MDL.

Похожие вопросы:

ответ
KPOKODIL:
Kane Thaumaturg, берешь даммика, ставишь ему модель эффекта, и масштабируй сколько душе угодно
Для некоторых эффектов не рботает
ответ
В War3 Model Editor'e рассчитай границы модели "Редактировать > Рассчитать границы"

23

» WarCraft 3 / Как сделать чтобы модель появилась?

Похожие вопросы:

ответ
BrEd Pitt:
Разбить по строкам, в каждой - одно слово. Там - это в графах анимации, где у зданий стоит stand, upgrade и т.д.
ответ
Я сделал себе с этой карты, у меня все работает
Точно не помню какая из них, выбери ту где Келем бегаешь

23

» WarCraft 3 / Проблема с способностями

Похожие вопросы:

ответ
>2015
>Таймеры с переодичностью 0.01
>Использование больше четырех функций для спелла
ответ
Просто оставлю это и это здесь
ответ
Есть проверка IsUnitDead, где проверяется тип и состояние IsUnitType(u, UNIT_TYPE_DEAD) но никогда не было проблем с проверкой хп.
Так же насколько я помню GetWidgetLife( unit ) > 0.0 или GetUnitState( unit, UNIT_STATE_LIFE ) > 0.405.
ответ
Работает только оригинал , точнее с него настройки на все остальные идут клоны спелла, настройки смотри в опен доте, так то она работ, но вот орб и ннсовместтмость с другими пассивками, это не очень.

23

» WarCraft 3 / Способность босса

Похожие вопросы:

ответ
в статьях всё сказано + есть куча наработок
ответ
Может "Змеиную ловкость" на 100%?
ответ
Для начала читаем правила
Затем, новичок самостоятельно сделать эти способности не сможет, если речь идёт о мультиплеере и оптимизированном исполнении.
И тебе лучше обратиться сюда:

23

» WarCraft 3 / Как сделать количество использования у способности?

Похожие вопросы:

ответ
Drulia_san, Ну да.
Добавляешь аурку - вот тебе баф на юните. Самый простой способ как по мне.
+Можно эффекты настроить, что вполне неплохо. Пока висит фейковый баф(наша аура) - на юните есть эффект.
Через дамми касты я пробовал, но долго+муторно+подключается дамми система = +лаги и местами утечки.
Насчёт таймаута - это уже по самим спеллам, я долго мучался чтобы оно всё работало как надо и не оверлапалось
Вот такой штукой у меня удаляется баф:
public function unitRemoveAbilityandBuffBY(unit u,integer dhv,integer mLv) returns boolean
	boolean b=UnitRemoveAbility(u,dhv)
  	UnitMakeAbilityPermanent(u,false,dhv)
  	UnitRemoveAbility(u,mLv)
	return b

23

» WarCraft 3 / Удаление всех юнитов игрока

Похожие вопросы:

ответ
пауза не предназначена для использования в боевых условиях, вот и ловишь всякое с нею. используй станы обычные, если уж жмет, а для башен и дизарм сгодится обычный

23

» WarCraft 3 / Cjass

Похожие вопросы:

ответ
define <FlushChildHashtable(SYSTEM_HASHTABLE,> = FlushChildHashtable_HSD(
функция FlushChildHashtable_HSD должна принимать лишь 1 параметр (инт)
либо можно так
define FlushChildHashtable(a, b) = {
    if(`a` == "SYSTEM_HASHTABLE"){
        FlushChildHashtable_HSD(b)
    }else{
        FlushChild##Hashtable(a, b)
    }
}
в результате второго варианта FlushChildHashtable(hash, 5) будет заменено на
if ( "hash" == "SYSTEM_HASHTABLE" ) then
	call FlushChildHashtable_HSD(5)
else
	call FlushChildHashtable(hash, 5)
endif
первый вариант предпочтительнее если подобных переменных немного
второй если необходимо передавать в функцию FlushChildHashtable_HSD не только инт но и сам хэштейбл
если же тебе нужно проверять не по названию а по значению то используй 2 вариант
только вместо строк сравнивай сами переменные
ответ
Parom_Harona,
AdicHelper.exe /mappars="путь_к_карте"
ответ
Проблема в Coordinate functions
ответ
ручками =), ну а в конечном итоге всё всё равно в чистый JASS превращается
ответ
Но как переписать код на луа как можно быстрее?
Можно достать из карты war3map.j и сконвертировать в lua. После доработки напильником вполне работоспособно))

23

» WarCraft 3 / Модели видно в отсутствии освещения

Похожие вопросы:

ответ
EvilPenguin, я посмотрел модель, там в анимации поверхностей были изменения цвета.
Удалил на фиг - и всё стало показывать правильно.
FrigatPlay, закрой вопрос уже)
ответ
Возможно, в самом ME отключено освещение, потому модели выглядят ярко (без теней). Нужны скрины моделей в игре и МЕ для сравнения.
Если что, тени в МЕ включаются в Edit -> Properties > Enable Lighting
в русском редакторе: Редактировать -> Свойства > Включить молнии (кек).
ответ
Я использовал такую модель для тумана. Просто белое свечение, ставил в качестве дудада, в редакторе объектов указывал оттенок (255,255,255 — белый, далее соответственно). С освещением ничего не сделаешь, да.

23

» WarCraft 3 / Текст над юнитом

Похожие вопросы:

ответ
Атака оглушением вызывает подобную ерунду. Да и не только.
Например в доте бы вылетало сообщение 0 при атаке имея МКБ - сообщался бы урон, урон от микробаша, если бы выпал и 0.00 от нулевого критического удара.
Решение простое - поставь условие, что полученный урон больше 0.00, тогда только выводить.
ответ
но когда срабатывает одновременно в некоторых случаях текст остается, в чем причина не знаю
причина в бж функциях
избавься от бж и всё норм будет
ответ
Нет, нельзя.
ответ
ровно 99 штук
ответ
8gabriel8:
А в вопросе упомянутое "всплытие" подразумевает, что текст не появляется вообще что ли?
Только при создании текста 2 раз, с первого раза не создается
Ответ найден, простите за беспокойство.
Добавил функцию ((код SetTextTagSuspended(udg_SummUnit[udg_Summ],false) ))
Спасибо за внимание!

23

» WarCraft 3 / Помогите с тригерами

Похожие вопросы:

ответ
Ааа,все посоны,нашел.
ответ
destr:
забудь про эту наработку, она чересчур сложна для понимания простых смертных, да и на 1.26 она вроде не работала. Проще самому сделать инв чем ковыряться в ней (из личного опыта)
В 1.26 пашет,не веришь, сделай проверку карты.2)Думаю понять можна, странно то,что компилятор не видит нужных переменных.
ответ
В событии - применение способности, а в действии - атакованный юнит.
Способность - это не атака.
То есть нужно вместо атакованного юнита написать юнит-цель заклинания.
И удалить утечки (точки).
ответ
как мне накинуть эффект не позволяющий ни исследовать ни производить юнитов на здание
Почему бы просто не поставить это здание на паузу? И потом снять, когда надо будет. Безо всякого ледяного дыхания и создания лишних юнитов.
ответ

23

» WarCraft 3 / Триггеры

Похожие вопросы:

ответ
Вам сюда, господин хороший. Там есть ответы, практически, на все ваши вопросы.
ответ
спасибо, XGM Bot!
Нашел это - xgm.guru/p/blog-nvc123/ur1-3
ответ
Собственные попытки в студию, что не получается?
Напомним - ЭТО НЕ СТОЛ ЗАКАЗОВ, здесь задают вопросы про реализацию тех или иных вопросов, спрашивают про ошибки, оптмизацию, отдельные функции. Я не увидел в вашем вопросе ничего кроме невнятного описания механики способности, " вокргу кого то там огненные столбы возникают, и еще порча"...
ответ
Filius Dei, во вредные советы подъехали...
Русификатор очень поможет тем кто собрался ломануть чужую карту и сделать её мод, прям ваще жир...
Потом нубам вроде сударя не стоит бежать ломать чужую карту, чето там пытатся копировать - это все бесполезно, недавно был похожий вопрос - помогите взломать карту за вознаграждение, карту сломали - ну а дальше что? Он неспособен ничего сделать потому что просто не понимает как?
Играя в некую карту вы мните себя великими балансерами и картоделами, мол да чё там, шяс подправлю пару значений и все будет норм - нет не будет, это не так просто как может показаться, без понимания устройства карты и знания Jass вам нечего там делать, вы тупо ничего не сможете изменить, да даже скопировать и вставить!
Помните что без труда не выловишь и рыбку из пруда, т.е изи способов в 1 кнопку взять и запилить чужую карту так как вам хочется или вдруг стащить всех героев себе в карту нет, а уж теболее не случится так что вам кто то возьмет и все это сделает вам за спасибо...

23

» WarCraft 3 / Выбирается юнит который не выбран

Похожие вопросы:

ответ
quq_CCCP:
Спасибо, понял что надо создавать форс единожды, чтобы утечек не было
Мдаа уж, оказывается все дело в том, что забыл поставить исходные позиции другим игрокам, хорошо хоть проверить догадался, засиделся за редактором
ответ
Вот, должно помочь, но конечно, если героев несколько, то переменная перезаписывается.

23

» WarCraft 3 / Анимация при срабатывании пассивки

Похожие вопросы:

ответ
Ну более менее муторный вариант: Делаем пасивку пустышку
Действие: юнит атакован
Условие: атакующий юнит имеет способность ту или ту :D
Действие: устонавливаем переменную как рандомное число и потом если/то/иначе функцию(сам думаю поймёшь как) :DD

23

» WarCraft 3 / Пустышка - цель - юнит

Похожие вопросы:

ответ
quq_CCCP:
Он постом выше.
я тебя понял, побежал проверять :)
Печать преисподней отлично подходит!
при конвертации в способность "неульту" теряется также способность пробивать имунных к магии существ - Печать преисподней - других возможных аналогов я не нашел
решением проблемы является способность Ловчий

23

» WarCraft 3 / call DestroyTrigger( GetTriggeringTrigger() )

Похожие вопросы:

ответ
Здесь всё не так.
Множество ошибок, нераскрытые BJ и прочее.
Если у тебя JNGP, то при компилляции он должен выдавать много ошибок, по ним можно легко всё исправить (достаточно поверхностного знания английского языка)
тебе проще будет заказать такой спелл в барахолке и уже потом изучать то что тебе сделают.
ответ
надо периодически проверять, а не верить варкрафтовому событию. это одно из самых вредных событий в игре, его почти никто не использует в здравом уме
ответ
Поставь jngp с cjass и у cjass будет галка автообнуление. Иначе да, руками
xgm.guru/p/wc3/w3datatypes вот тут исчерпывающая инфа об утечках с переменных
ответ
Удаляет сработавший триггер, если находится в потоке триггера.
Это делать не следует, так делают те у кого еще не было проблем от этого...
ответ
есть мнение, что это может оставить утечку, лучше воспользоваться независимым таймером и утилизировать через секунд 30

23

» WarCraft 3 / Как снять ограничение

Похожие вопросы:

ответ
Только с помощью написания полностью своей системы передвижения.
ответ
Если не ошибаюсь - нужно еще дистанцию получения приказа поднять
ответ
Если у вас не анло-язычный jpng, а xgm'ский(5d), то это бесполезно. Всегда будет ночь, лучше попробуйте новую сборку jpng: Jass New Gen Pack - Rebuild 1.3 , надеюсь поможет.
ответ
ответ
Roy Mustang:
Игровые константы
а дальше смотри скриншот ниже (добавляешь новые строки в список - столько сколько тебе нужно уровней)

23

» WarCraft 3 / Отменить эффект стана

Похожие вопросы:

ответ
Как это реализовано тогда?!
"В личном порядке".
Занесена базовая атака героя, учтено, сколько книжек на урон герой "съел", какие способности изучил, какие предметы одел, в идеале - какие баффы какого уровня получил. Хотя скорее всего описание врёт и сделано всё попроще - от главного атрибута или типа того, чтобы примерно равнялось 50% атаки. Если нужен костыль такого заклинания - могу скинуть, но надёжность оставляет желать лучшего. Но в наработке исправно наносится в заклинании урон по величине атаки героя, правда без учета баффов и преметов, только уровня.
Farrien:
У меня появилась идея,
Если нужно -могу подогнать системку, ловящую перехват смены приказа, она не блещет точностью, но абузить шансовые эффекты точно не получится.
ответ
В редакторе скелета

23

» WarCraft 3 / EVENT_PLAYER_HERO_SKILL

Похожие вопросы:

ответ
SetUnitPosition довольно тяжелая операци, юзайте SetUnitX\Y в конце полета юзай SetUnitPosition для того чтобы юнит не залетел в непроходимое место.
Фильтр просто ужас, ну кто так фильтры делает?
Проверка на 'Aloc', я в ужасе на кой черт проверять на дамми если GropEnumUnitsInRange\Rect не выделяет москитов, тока EnumOfPlayer может пикнуть москитов, остальное не пикает их, на то они и москиты...
Вот как выглядит нормальный фильтр без локалок и прочего
function EnemyFilter takes nothing returns boolean
    set bj_lastFilterUnit = GetFilterUnit( )
    return GetUnitState( bj_lastFilterUnit, UNIT_STATE_LIFE ) > 0.405 and IsUnitEnemy( bj_lastFilterUnit, bj_groupEnumOwningPlayer ) and not( IsUnitType( bj_lastFilterUnit, UNIT_TYPE_MAGIC_IMMUNE ) or IsUnitType( bj_lastFilterUnit, UNIT_TYPE_MECHANICAL ) or IsUnitInvulnerable( bj_lastFilterUnit ) )
endfunction
UnitDamageTargetEx - красиво но нафиг ненужно обводить в отдельную функцию с тучей аргументов + жутко неудобно, 100500 аргументов у функции и фиг знает за что какой от вечает, прямо так UnitDamageTarget, без отдельной функции.
Туча констант, тоже хорошо тока длят наработок, на деле ставь конкретные значения или юзай Difine vjass'a.
ответ
Если я не ошибаюсь, это происходит из-за подгрузки способностей в той самой книге. Можно дать эту способность какому-нибудь юниту и поместить его на игровом поле, что подгрузка этих способностей происходила во время инициализации карты.
ответ
Лимит операций, обычно это беда настигает заядлых гуишников.
На jass обычно нету таких проблем.
Создайте таймер с периодом .00 сек и запускайте им функции инициализации триггеров.
функция типа InitTrig_Имя триггера - это функция инициализации триггера, она вызывается из функции InitCustomTriggers, но если этих вызовов очень много то функция упирается в лимит операций и поток завершается так и не создав все триггеры.

23

» WarCraft 3 / Свап хп - не могу разобраться

Похожие вопросы:

ответ
Было на вин 10, проверь апдейты винды и драйверов, переставь или откатись - должно помочь.
ответ
Steal nerves:
В натуре баг такой? Проверил только что. Улучшение эльфам можно не делать на доспехи. Короче эльфы читеры
ответ
Потому что вы блокируете мультишот. Запрет спеллбука не запрещает способности, находящиеся в нем. Но запрет самих способностей, внезапно, запрещает их.
ответ
Автокастовые способности не работают у активных предметов.Сам каст абилку нужно делать триггерно дамиком, а способностях предмета пустышка через Канал
ответ
Прочитал в другой теме, что это и правда нереально, стандартный ИИ не знает канал.

23

» WarCraft 3 / запустить таймер из таймера

Похожие вопросы:

ответ
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.
ответ
Юзай ретурн баг, он снова доступен...
Просто массив целочисленных куда записаны ид code.
Вот ссылочка

23

» WarCraft 3 / массив типа предметов

Похожие вопросы:

ответ
Steal nerves, лови. Годный такой мануал.
На сишные структуры похожи. Короче. Прочитаешь на 2-3 раза - все поймешь.
ответ
Steal nerves:
ответы
Как объединить зелья лечения в одно с зарядом, если герой имеет одно в инвентаре и поднимает второе?
обычно используют "событие - юнит получает предмет", И на предмет, который вы получаете, ссылается переменная, которая называется item being manipulated. А юнит, который получает итем - Triggering Unit. Вы можете с помощью этой переменной итема узнать тип, сравнить. Потом циклом пробегаете по слотам (от 1 до 6), тут вся суть в одной команде триггерной (item in slot X, итем в слоте Х) и проверяете есть ли такой же итем (не забываем делать проверки, на то что этот предмет не равен item being manipulated и сравниваете не одинаковые ли типы). Если есть такой же (находите тот же тип что и item being manipulated), то от item being manipulated берете заряды и прибавляете к зарядам существующего, а потом item being manipulated удаляете. Недостаток: при заполненном инвентаре такая штука не будет работать.Не хватает свободного места.
код
цикл А от 1 до 6
if тип итема (item being manipulated) РАВНО тип итема (item in slot А) and item being manipulated НЕ РАВНО item in slot А then проверяете
set k = Charges remaining in ( item being manipulated) + Charges remaining in ( item in slot А) складываете заряды
Set charges remaining in ( item in slot А) to ( k) устанавливаете кол-во зарядов
Remove Item (item being manipulated) удаляете
endif
Есть гуишная проверка на наличие итема определенного типа в инвентаре, но она утечна. И лучше циклом прогонять.
Кстати выше пример, там вот дропают итем, зачем? чтобы проверить есть ли такой же итем. А то мб проверка на наличие итема определенного типа в инвентаре найти подобранный итем. А нам нужно знать, что есть еще один, кроме подобранного. Поэтому дропают. Только не понятно зачем создаете новый итем.
Проверка, на то что подобранный предмет имеет зарядов больше 0, говорит нам о том что это не обычный предмет.
есть статьи
Как зелье с зарядом разделить, если игрок перекладывает зелье с зарядом в другую ячейку инвентаря, если возможно, то разделение происходить должно только при нажатии какой-то клавиши?
можно перекладывать в другой слот. для этого ловят приказ. Короче смотрите системы CCS
там создают новый такой же предмет, и выделяют кол-во зарядов, деля поровну например. Абилкой например, попробуй сделать целевую активную абилку с целью предмет, указывай на инвентарь и дели.
Как это можно сделать покороче для множества разных типов предметов?
всмысле покороче? сделать под одну группу? есть же классификация. Я вот делаю так, что все предметы, которые с зарядами, должны иметь классификацию "с зарядами". Не помню точно как называется класс итемов.
Как правильно реализовать в инвентаре 7 слот?
если у героя заполнен инвентарь, то он может подобрать руну. Вот в доте система скрещивания. То же самое можно сделать и с зарядами. На земле у него лежат руны, при подборе руна исчезает. Но мы проверяем слоты, есть ли такой итем. Если есть, прибавляем заряды к существующему. Иначе создать новый. При дропе итема, оригинал подменяет снова на руну. В руну можно передать значения зарядов.
А также ограничения какие-то на количество зарядов нужно ставить или сама система выше какой-то планки не даст собирать?
до такого не доходил.
скинул примеры (хотя многие дурацкие, но делал здесь хгм в качестве ответов)
вот еще одна система hh

23

» WarCraft 3 / Как работает «Способности - Способность по умолчанию» ?

Похожие вопросы:

ответ
Sir_Lambert:
Хм, сделав вот это, я добился разброса урона. Он работал только тогда, когда работало улучшение "Громовой молот". Правда, я так и не понял, какой именно параметр сделал это. Правда, он вроде бы бил по своим все равно. Надо будет покопаться в этом и попытать дать этой фигне какой-нибудь эффект для видимости.
Для видимости можно поставить в графу Графика - Цель какой-нибудь эффект, он будет срабатывать на всех дополнительных целях. А чтобы он по своим не бил, надо поставить в графу Радиус поражения - Цели, нужные тебе типы юнитов, по которым будет проходить эта атака.
ответ
8gabriel8, стандартные порталы как раз включаются триггером, так же триггерно им можно назначать области телепорта, так же они не ломают карту путей.
Насчет упираются в здание, карту путей ставь от портала, физ размер в 0.